package view;

import java.util.LinkedHashMap;

import controleur.Config;
import controleur.eMenuOption;
import controleur.iTransitionControleur;

/**
 * Represente une fentre de texte, avec syhtese vocale. Tout choix ferme la
 * fenetre en passant au controleur un .choix();
 */
public class TextView implements iView
{
	MenuView view;
	private eMenuOption returnVal = eMenuOption.rien;
	private iTransitionControleur controleur;

	@SuppressWarnings("serial")
	public TextView(String title, String desc, iTransitionControleur c,
			Config cfg)
	{
		init(title, desc, c, cfg);
	}

	public TextView(String title, String desc, eMenuOption next,
			iTransitionControleur c, Config cfg)
	{
		this.returnVal = next;
		init(title, desc, c, cfg);
	}

	public void init(String title, String desc, iTransitionControleur c,
			Config cfg)
	{
		this.controleur = c;
		LinkedHashMap<String, eMenuOption> opt = new LinkedHashMap<String, eMenuOption>();
		opt.put("Continuer", returnVal);

		if (desc.length() == 0)
		{
			c.choix(returnVal);
			return;
		}

		view = new MenuView(title, desc, opt, c, cfg)
		{
			protected void lancerOption(int i)
			{
				super.lancerOption(0); // Cf lignes plus haut
				this.dispose();
			}
		};
	}

	public static void main(String[] args)
	{
		new TextView(
				"Titre",
				"C'est une textview...C'est une textview...C'est une textview...C'est une textview...C'est une textview...C'est une textview...C'est une textview...C'est une textview...C'est une textview...C'est une textview...C'est une textview...C'est une textview...",
				null, Config.defaultCfg);
		System.out.println("o");
	}

	@Override
	public void dispose()
	{
		this.view.dispose();
	}
}
